package com.google.common.annotations;

import java.lang.annotation.*;

/**
 * 显而易见。被该注解标注的TYPE/METHOD返回值/属性字段 无法 GWT Serializable，因此不能与GWT一起使用
 */
@Retention(RetentionPolicy.CLASS)
// 不同于 @GwtCompatible， 该注解多了两种目标TYPE: 构造方法和属性字段
@Target({
        ElementType.TYPE,
        ElementType.METHOD,
        ElementType.CONSTRUCTOR,
        ElementType.FIELD
})
@Documented
@GwtCompatible
public @interface GwtIncompatible {
    /**
     * 该注解含有一个String类型的属性--value
     * 描述被注解的类为什么不支持GWT。我们鼓励开发人员在使用到 @GwtIncompatible 的地方简单描述原因
     * @return
     */
    String value() default "";
}
